<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>异步</title>
</head>
<body>
    <script>

        
        // setTimeout(function(){
        //     console.log("步骤2");
        //     setTimeout(function(){
        //         console.log("步骤3");
        //         setTimeout(function(){
        //             console.log("步骤4");
        //             setTimeout(function(){
        //                 console.log("步骤5");
        //             },1000);
        //         },1000);
        //     },1000);
        // },1000);
       
        
        function generatePromise(){
            let promise = new Promise(function(resolve,reject){
                setTimeout(function(){
                    resolve();
                },1000);
                
            });
            return promise;
        }
        // generatePromise().then(function(){
        //     console.log("步骤2");
        //     return generatePromise();
        // }).then(function(){
        //     console.log("步骤3");
        //     return generatePromise();
        // }).then(function(){
        //     console.log("步骤4");
        //     return generatePromise();
        // }).then(function(){
        //     console.log("步骤5");
        // });
        
        // while(true){}

        async function timeout(){
            console.log("步骤1");
            try{
                await generatePromise();
                console.log("步骤2");
            }catch(e){
                console.log("出错啦");
            }
            
            await generatePromise();
            console.log("步骤3");
            await generatePromise();
            console.log("步骤4");
            await generatePromise();
            console.log("步骤5");
        }
        timeout();
    </script>
</body>
</html>